package org.thread.test05.demo06.demo02;

/**
 * wait方法的使用
 * <p>
 * 1）wait、notify、notifyAll 这三个方法必须应用在同步代码块或同步方法里
 * 2）这三个方法在Object 类中定义。因此，所有的对象都可以访问
 * 但是，访问这三个方法的对象必须是锁对象！！！
 *
 * @author ZJL
 * @date 2025-03-13
 */
public class MainTest extends Object {
    /**
     * 定义锁对象
     */
    private static final String LOCK = "";

    /**
     * 静态方法只能访问静态成员
     *
     * @param args
     */
    public static void main(String[] args) {
        synchronized (LOCK) {
            try {
                // 线程等待  -- 报错 -必须应用在同步代码块或同步方法里
                //LOCK.wait();
                LOCK.wait(5000);
                System.out.println("线程被唤醒，执行相关的业务代码....");
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
